﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class ListaUporzadkowana<T> where T : System.IComparable<T>
{
    T[] tab, temp;
    int rozmiar;

    public ListaUporzadkowana()//konstruktor domyślny
    {
        tab = null;
        rozmiar = 0;
    }

    ~ListaUporzadkowana() // destruktor
    {
    }

    public int ZwrocRozmiar() { return rozmiar; }

    public void Wstaw(T o)
    {
        Array.Resize(ref tab, rozmiar + 1);

        rozmiar++;
        for (int i = 0; i < rozmiar; i++)
        {

            if (i < rozmiar - 1)
            {
                if ((tab[i].CompareTo(o)) < 0)
                {
                    Array.Resize(ref temp, 1);
                    temp[0] = tab[i];
                    tab[i] = o;
                    o = temp[0];
                }

            }
            else
                tab[rozmiar - 1] = o;
        }
    }
    public void UsunMin()
    {
        Array.Resize(ref tab, rozmiar - 1);
        rozmiar--;
    }
}